#!/bin/sh
#
# Copyright (c) 2016 Lucky Byte, Inc.
#
# Summary : 清除日志文件
#
# Author : xiaohu <xiaohu@lucky-byte.com>
# Since  : 2016.2.19
#
# History
#  2016.02.19 : 建立此文件
#  2016.02.23 : 检查传入的参数是否为整数
#

# 可以指定一个数字参数，用来确定删除多久之前的日志文件，例如:
#
#   this.sh  3
#
# 表示清除最后修改时间 3 天之前的日志文件
#
# 如果没有指定参数，则默认是清除 300 天之前的文件
#

# 默认日志保留的天数，可通过参数修改
arg_days=300

if [ $# -ge 1 ] ; then
    case $1 in
        '' | *[!0-9]*)
        echo "脚本[$0]配置的参数[$1]不是一个整数，请改正."
        exit 1
        ;;
    esac
    arg_days=$1
fi
echo "开始删除 $arg_days 天之前的日志文件..."

# 日志文件目录
logs_dir='/opt/logs'

# 显示要删除的文件清单
echo '下面的文件将被清除：'
find -H ${logs_dir} -type f -name "*.log*" -mtime +${arg_days} -print

find -H ${logs_dir} -type f -name "*.log*" -mtime +${arg_days} -delete

echo "日志清理完毕，命令退出代码 $?"
